# coding=utf-8

"""
中文错别字纠正
"""

import torch
from transformers import (
    set_seed,
    AutoTokenizer,
    AutoModelForCausalLM
)
from typing import Dict, List


class Corrector(object):

    def __init__(self):
        set_seed(42)
        self.prompt_prefix = "你是一个文本纠错专家，纠正输入句子中的语法错误，并输出正确的句子，输入句子为："

        model_path = '/app/contract/models/ChineseErrorCorrector3-4B'
        self.model = AutoModelForCausalLM.from_pretrained(
            model_path,
            torch_dtype=torch.bfloat16,
            device_map="cpu"
        )

        self.tokenizer = AutoTokenizer.from_pretrained(
            model_path,
            trust_remote_code=True,
            padding_side='left'
        )

    def infer(self, input_list: List[str]) -> List[str]:
        """错字纠正"""
        all_outputs = []
        
        # 批量处理整个batch
        messages = [
            [{"role": "user", "content": self.prompt_prefix + error}]
            for error in input_list
        ]

        # 批量编码所有输入
        input_texts = [
            self.tokenizer.apply_chat_template(msg, tokenize=False,
                                               add_generation_prompt=True,
                                               enable_thinking=False)
            for msg in messages
        ]
        inputs = self.tokenizer.batch_encode_plus(
            input_texts,
            padding=True,
            return_tensors="pt"
        ).to(self.model.device)

        # 批量生成输出
        outputs = self.model.generate(
            inputs.input_ids,
            attention_mask=inputs.attention_mask,
            max_new_tokens=512
        )

        # 批量解码输出
        for i, output in enumerate(outputs):
            prompt_len = len(inputs.input_ids[i])
            gen_text = self.tokenizer.decode(output[prompt_len:], skip_special_tokens=True)
            gen_text = gen_text.strip()
            all_outputs.append(gen_text)
        return all_outputs

    def correct(self, data: Dict) -> List:
        """合同数据的错字纠正"""
        if 'textInfos' not in data:
            raise Exception("field `textInfos` not in data")
        if not isinstance(data['textInfos'], list):
            raise Exception("data['textInfos'] is not a list")

        result = []
        for index, row in enumerate(data['textInfos']):
            if not isinstance(row, dict):
                continue
            text = row.get('text', '')
            input_text = text.strip()
            if len(input_text) < 5:
                continue

            output_text = self.infer([input_text])[0].strip()
            if input_text == output_text:
                continue

            start_pos = 0
            if text != input_text:
                start_pos = text.find(input_text)

            corrects = []
            for k in range(len(input_text)):
                if k < len(output_text) and input_text[k] != output_text[k]:
                    corrects.append({
                        'tag': 'replace',
                        'correction_index': [start_pos + k, start_pos + k + 1],
                        'origin_str': input_text[k],
                        'correction_str': output_text[k]
                    })

            if len(corrects) != 0:
                result.append({
                    'index': row['index'],
                    'is_correct': True,
                    'correct_out': corrects
                })
        return result


if __name__ == '__main__':
    corrector = Corrector()
    data ={"textInfos": [{"index": 0, "text": "                     ", "textLength": 21}, {"index": 1, "text": "                                  项目编号：BBWCQJY24-1516", "textLength": 53}, {"index": 2, "text": "合同编号：BGWL/FGZ-ZR-2024-257", "textLength": 25}, {"index": 3, "text": "", "textLength": 0}, {"index": 4, "text": "一批报废自卸半挂车、牵引车、叉车等设备整体转让项目", "textLength": 25}, {"index": 5, "text": " 交 易 合 同", "textLength": 8}, {"index": 6, "text": "", "textLength": 0}, {"index": 7, "text": "", "textLength": 0}, {"index": 8, "text": "", "textLength": 0}, {"index": 9, "text": "", "textLength": 0}, {"index": 10, "text": "", "textLength": 0}, {"index": 11, "text": "", "textLength": 0}, {"index": 12, "text": "", "textLength": 0}, {"index": 13, "text": "", "textLength": 0}, {"index": 14, "text": "", "textLength": 0}, {"index": 15, "text": "", "textLength": 0}, {"index": 16, "text": "", "textLength": 0}, {"index": 17, "text": "", "textLength": 0}, {"index": 18, "text": "", "textLength": 0}, {"index": 19, "text": "", "textLength": 0}, {"index": 20, "text": "", "textLength": 0}, {"index": 21, "text": "根据《中华人民共和国民法典》《企业国有资产交易监督管理办法》(国务院国资委、财政部第32号令)等法律、行政法规，遵循公开、公平、公正、诚实信用的原则，甲、乙双方就资产转让事宜订立合同条款如下，双方共同遵守。", "textLength": 103}, {"index": 22, "text": "", "textLength": 0}, {"index": 23, "text": "一、双方当事人", "textLength": 7}, {"index": 24, "text": "转让方（甲方）：  防城港北港物流有限公司       ", "textLength": 28}, {"index": 25, "text": "住所： 防城港市港口区友谊大道22号3楼  ", "textLength": 22}, {"index": 26, "text": "法定代表人： 李泰霖  ", "textLength": 12}, {"index": 27, "text": "委托代理人：                     电话：                ", "textLength": 46}, {"index": 28, "text": "Email：                          传真：                   ", "textLength": 54}, {"index": 29, "text": "", "textLength": 0}, {"index": 30, "text": "受让方（乙方）： 汝州市硕鹏再生资源有限公司 ", "textLength": 23}, {"index": 31, "text": "住所： 汝州市陵头镇宁庄村向北500米  ", "textLength": 21}, {"index": 32, "text": "法定代表人： 赵克霞", "textLength": 10}, {"index": 33, "text": "委托代理人： 宋泉甫 电话： 15251767690 ", "textLength": 27}, {"index": 34, "text": "Email：                          传真：                   ", "textLength": 54}, {"index": 35, "text": "", "textLength": 0}, {"index": 36, "text": "二、转让标的及交易内容", "textLength": 11}, {"index": 37, "text": "㈠转让标的：一批报废自卸半挂车、牵引车、叉车等设备共20项资产，资产清单如下：", "textLength": 39}, {"index": 38, "text": "序号\n\t资产名称\n\t规格型号\n\t\n1\n\t自卸半挂车（桂P-9007挂）\n\t27000kgNHG9400ZZX\n\t\n2\n\t自卸半挂车（桂P-9016挂）\n\t27000kgNHG9400ZZX\n\t\n3\n\t牵引车VOVOL FM440 64T B（桂P00787）\n\t瑞典VOLVOFM440\n\t\n4\n\t牵引车VOVLO（桂P00991）\n\t瑞典VOLVOFM400\n\t\n5\n\t牵引车VOVLO（桂P01019）\n\t瑞典VOLVOFM400\n\t\n6\n\t牵引车VOVLO（桂P01006）\n\t瑞典VOLVOFM400\n\t\n7\n\t牵引车VOVLO（桂P00992）\n\t瑞典VOLVOFM400\n\t\n8\n\t牵引车VOVLO（桂P00983）\n\t瑞典VOLVOFM400\n\t\n9\n\t牵引车VOVLO（桂P01018）\n\t瑞典VOLVOFM400\n\t\n10\n\t牵引车VOVLO（桂P00929）\n\t瑞典VOLVOFM400\n\t\n11\n\t牵引车VOVLO（桂P00917）\n\t瑞典VOLVOFM400\n\t\n12\n\t牵引车VOVLO（桂P00902）\n\t瑞典VOLVOFM400\n\t\n13\n\t装载机WA470-3(DZ20156)（047#）\n\tWA470-3(DZ20156)\n\t\n14\n\t挖掘机履带式液压PC200-7（15#）\n\tPC200-7\n\t\n15\n\t挖掘机履带式液压PC200-7（16#）\n\tPC200-7\n\t\n16\n\t叉车CPCD60（09#）\n\tCPCD60/CY6102BG\n\t\n17\n\t叉车CPCD60（11#）\n\tCPCD60/CY6102BG\n\t\n18\n\t叉车CPCD60（13#）\n\tCPCD60/CY6102BG\n\t\n19\n\t滑移装载机420HD（004#）\n\t420HD美国凯斯432T/M3\n\t\n20\n\t电子汽车衡SCS-150DT\n\tSCS-150DT\n\t\n", "textLength": 788}, {"index": 39, "text": "", "textLength": 0}, {"index": 40, "text": "    ㈡转让标的由甲方委托北部湾产权交易所（以下简称交易所）公开转让，采用网络竞价交易方式，最终由乙方成功受让。", "textLength": 57}, {"index": 41, "text": "㈢成交价格（含税）：人民币捌拾壹万贰仟柒佰玖拾捌元壹角肆分（￥812,798.14元），其中不含税价款￥719290.39元，增值税税率 13 %，税款￥93507.75元。", "textLength": 87}, {"index": 42, "text": "三、成交价款的支付方式及期限", "textLength": 14}, {"index": 43, "text": "乙方应在本合同生效之日起5个工作日内将成交价款足额缴入交易所指定账户。资产交割完毕后，由交易所转给甲方。", "textLength": 52}, {"index": 44, "text": "甲方在收到成交价款之日起5日内向乙方开具13%增值税专用发票。如因适用国家税收政策原因需调整增值税税率的，不含税价款不变，增值税税额相应调整。", "textLength": 71}, {"index": 45, "text": "四、资产交割及清运保证金退付", "textLength": 14}, {"index": 46, "text": "㈠标的按现状进行交割和交付，不因实际交割数量差异而调整成交价格。成交价格为甲方承储库仓内交货价，不含包装、运输及其他费用。", "textLength": 61}, {"index": 47, "text": "㈡乙方将成交价款、清运保证金足额支付至交易所指定银行账户后5个工作日内，甲、乙双方办理资产交割并签署交割单。乙方已交纳至北部湾产权交易所的交易保证金扣除应交竞价服务费后剩余款项自动转为清运保证金（金额不足的5万元，乙方应在交易合同生效之日起五个工作日内将不足部分支付至交易所指定银行账户）。", "textLength": 145}, {"index": 48, "text": "㈢甲、乙双方签署交割单前应当对需要清运的标的进行清点确认，避免清运过程中因清运标的有误产生纠纷，清点确认后才能签订交割单，签订交割单后20个工作日内，乙方须完成标的清运、销户工作。逾期未完成的，甲方将以书面形式催告，期间的场地占用费（￥2000元/日）由乙方承担，从清运保证金中扣除收取。扣取的清运保证金由北部湾产权交易所直接支付给甲方；场地占用费超出清运保证金的，超出部分由乙方在清运完成后5日内支付给甲方。乙方应当按照《交易合同》约定完成清运清场工作，其他履约事项以本交易公告、《交易合同》及签署的其他交易文件约定为准。如乙方无逾期完成清运清场工作、无其他违约行为的，则由交易所将清运保证金无息原渠道退还至乙方账户。", "textLength": 310}, {"index": 49, "text": "㈣清运期间责任承担：乙方清运期间以办理标的交付为目的而需对标的实施核验、计量、拆卸、装载、运输的，由乙方自行办理、费用自担，甲方予以适当协助。清运期间发生的标的遭损坏、灭失、价值缩减以及因拆除、清运等行为导致他人之人身、财产权益受损等风险和责任，皆由乙方承担。乙方自行判断清运条件，如因场地、道路等非甲方原因导致标的不能正常清运的风险由乙方承担。", "textLength": 173}, {"index": 50, "text": "㈤因本项目标的涉及报废车辆，乙方对标的进行拆解、再生利用的，应聘请具备报废机动车回收拆解/特种设备作业资质的单位进行操作（乙方自身具备相关资质的无需另聘），并符合当地及国家的环保及安全标准，因标的拆卸、运输作业违反法律规定造成环境污染及公共安全的，由乙方自行承担法律责任。标的拆解、清运由乙方到登记部门办理相关手续，甲方予以必要的配合，所涉及费用由乙方自行承担，拆解证明/回收证明等文件由乙方移交甲方办理销户手续。", "textLength": 207}, {"index": 51, "text": "五、合同争议的解决方式", "textLength": 11}, {"index": 52, "text": "甲、乙双方在合同履行过程中发生争议，应本着友好合作的原则协商解决，或请交易所沟通、调解。协商、调解不能解决时，可以向甲方住所地人民法院起诉。", "textLength": 70}, {"index": 53, "text": "六、违约责任", "textLength": 6}, {"index": 54, "text": "㈠合同双方应按照本合同约定履行合同义务。若乙方未按时支付成交价款或甲方不按时交付标的的，每逾期一日，违约方按合同应付价款的0.05‰向守约方支付违约金。", "textLength": 76}, {"index": 55, "text": "㈡乙方未在本合同约定的时间内向交易所支付本合同约定的交易价款超过5日的，甲方有权解除本合同。甲方解除合同的，由甲方委托北部湾产权交易所重新公开转让，重新公开转让的服务费由乙方另行支付。乙方原交纳的交易保证金在扣除甲、乙双方应支付给交易所的竞价交易服务费后的剩余金额（包含清运保证金）作为乙方违约金由北部湾产权交易所直接支付给甲方（如乙方已另付竞价交易服务费至交易所账户，则交易保证金在扣除甲方竞价交易服务费后的剩余金额作为作为乙方违约金由北部湾产权交易所直接支付给甲方）。", "textLength": 236}, {"index": 56, "text": "㈢一方违约给另一方造成经济损失，且违约方支付违约金的数额不足以赔偿对方的经济损失时，守约方有权就差额部分向违约方追偿。", "textLength": 59}, {"index": 57, "text": "㈣乙方未按国家或地区操作规范拆卸标的（甲方发出书面警告后仍不整改的）或非特殊原因，乙方逾期清运达5个工作日的，甲方有权解除交易合同，并要求乙方停止拆卸、清运相关作业，交还标的，且清运保证金不予返还。发生以上情形，乙方给甲方造成损失的，甲方保留向乙方追偿的权利。", "textLength": 130}, {"index": 58, "text": "㈤违约方需承担守约方为实现合法权益所支出的各项费用（包括但不限于律师费、诉讼费、保全费、执行费等费用）。", "textLength": 52}, {"index": 59, "text": "七、合同的变更和解除", "textLength": 10}, {"index": 60, "text": "    发生下列情形之一时可以变更、解除合同：", "textLength": 23}, {"index": 61, "text": "㈠因不可抗力致使本合同无法履行的；", "textLength": 17}, {"index": 62, "text": "㈡一方因自身原因没有履行合同，另一方予以认可的；", "textLength": 24}, {"index": 63, "text": "㈢双方协商一致，并订立了变更或解除协议。甲、乙双方经协商一致要求解除合同的，甲、乙双方应各自向交易所支付交易服务费，乙方原交纳的交易保证金由交易所收到全额交易服务费及双方签署的解约协议后退还给乙方，双方对此次交易中发生的其他费用各自承担。", "textLength": 119}, {"index": 64, "text": "本合同的变更、解除须订立书面协议，并报交易所备案。", "textLength": 25}, {"index": 65, "text": "八、双方约定的其他条款：甲乙双方一致同意，在北部湾产权交易所集团官方网站披露的本项目公告内容、《成交确认书》为本合同不可分割的组成部分，与本合同具有同等法律效力，对双方均具有法律约束力。", "textLength": 93}, {"index": 66, "text": "九、不可抗力", "textLength": 6}, {"index": 67, "text": "    ㈠因不可抗力导致合同部分或全部不能履行，双方不承担违约责任。", "textLength": 34}, {"index": 68, "text": "    ㈡不可抗力是指不可预见、不可避免、不能克服的客观情况，包括但不限于战争、动乱、革命、暴乱、国家或政府征收、拆迁、政府法令、立法、地震、火山爆发、洪水、飓风、台风、泥石流、火灾等，遇到不可抗力的一方应立即以最快捷的方式通知另一方，并应在三十日内，提供不可抗力证明文件。", "textLength": 137}, {"index": 69, "text": "    ㈢不可抗力情形消除后，合同能够继续履行的，双方仍应继续履行，不能够继续履行的，双方协商解除合同。", "textLength": 52}, {"index": 70, "text": "十、通知及送达", "textLength": 7}, {"index": 71, "text": "㈠合同双方的联系地址和联络方式见本合同。", "textLength": 20}, {"index": 72, "text": "㈡本合同项下约定的事项通知，采用邮政EMS或其他快递方式的，在投寄三天后即视为送达；采用传真、电子邮件、手机短信等通讯方式的，一经发出即为送达；如果派人专程送达，则为收件人签收之日。", "textLength": 91}, {"index": 73, "text": "㈢收件方、收件方的代理人拒绝在送达回执上签收的，发件方可采用公证送达、报纸等媒体上公告送达或在本合同载明的地址大门处张贴拍照等留置送达方式做出有效通知，且经公证送达、公告送达或留置送达而生效的通知应被视为有效通知及送达。", "textLength": 110}, {"index": 74, "text": "㈣如果通讯地址或联络方式发生变动的一方（简称“变动一方”），未将有关变化及时通知其他方，协议另一方按未通知前的联系方法送达文件、通讯和通知等，该文件、通讯和通知等按照本条约定方式送达的，视为已经有效送达，变动一方应对由此而造成的影响和损失负责。", "textLength": 122}, {"index": 75, "text": "十一、合同的生效", "textLength": 8}, {"index": 76, "text": "本合同经甲乙双方法定代表人或委托代理人（附授权委托书）签字并盖章后生效，本合同的变更、补充协议与本合同具有同等法律效力。", "textLength": 60}, {"index": 77, "text": "    本合同共 7 页，一式 5 份，甲、乙双方各执 2 份，北部湾产权交易所留存 1 份；每份均具有同等法律效力。", "textLength": 59}, {"index": 78, "text": "附：资产交割单", "textLength": 7}, {"index": 79, "text": "", "textLength": 0}, {"index": 80, "text": "转让方（甲方）：                  受让方（乙方）：", "textLength": 34}, {"index": 81, "text": "（盖章）                         （盖章）", "textLength": 33}, {"index": 82, "text": "法定代表人                        法定代表人", "textLength": 34}, {"index": 83, "text": "或委托代理人（签字）：            或委托代理人（签字）：", "textLength": 34}, {"index": 84, "text": "", "textLength": 0}, {"index": 85, "text": "  签约地点：防城港市港口区                 ", "textLength": 31}, {"index": 86, "text": "  签约时间：    年   月   日", "textLength": 20}, {"index": 87, "text": "", "textLength": 0}, {"index": 88, "text": "", "textLength": 0}, {"index": 89, "text": "", "textLength": 0}, {"index": 90, "text": "", "textLength": 0}, {"index": 91, "text": "", "textLength": 0}, {"index": 92, "text": "", "textLength": 0}, {"index": 93, "text": "", "textLength": 0}, {"index": 94, "text": "", "textLength": 0}, {"index": 95, "text": "", "textLength": 0}, {"index": 96, "text": "", "textLength": 0}, {"index": 97, "text": "", "textLength": 0}, {"index": 98, "text": "", "textLength": 0}, {"index": 99, "text": "", "textLength": 0}, {"index": 100, "text": "", "textLength": 0}, {"index": 101, "text": "资产交割单", "textLength": 5}, {"index": 102, "text": "根据《中华人民共和国民法典》《企业国有资产交易监督管理办法》（国务院国资委、财政部第32号令）等法律、行政法规，防城港北港物流有限公司（“转让方”）与汝州市硕鹏再生资源有限公司(“受让方”)于2024年   月   日签订的一批报废自卸半挂车、牵引车、叉车等设备整体转让项目交易合同（“合同”、合同编号：BGWL/FGZ-ZR-2024-257），转让方己经依照《合同》的约定，将与《合同》附件《转让资产清单》（“资产清单”）所列的资产交割给受让方。受让方于2024年  月  日完成转让标的清运工作并负责清理现场。受让方特此确认资产清单所列的资产已经交割完毕。", "textLength": 281}, {"index": 103, "text": "", "textLength": 0}, {"index": 104, "text": "", "textLength": 0}, {"index": 105, "text": "防城港北港物流有限公司         汝州市硕鹏再生资源有限公司", "textLength": 33}, {"index": 106, "text": "", "textLength": 0}, {"index": 107, "text": "负责人或授权代表人签字：       负责人或授权代表人签字：", "textLength": 31}, {"index": 108, "text": "", "textLength": 0}, {"index": 109, "text": "日期：2024年   月  日          日期：2024年   月  日", "textLength": 40}, {"index": 110, "text": "", "textLength": 0}, {"index": 111, "text": "", "textLength": 0}, {"index": 112, "text": "", "textLength": 0}, {"index": 113, "text": "", "textLength": 0}, {"index": 114, "text": "", "textLength": 0}, {"index": 115, "text": "防城港北港物流有限公司转让资产清单\n\t\n序号\n\t公司全称\n\t管理部门\n\t资产类别\n\t存放地点\n\t资产名称\n\t规格型号\n\t是否特种设备\n\t是否危废\n\t是否涉密载体\n\t财务系统\n资产编码\n\t资产系统\n资产编码\n\t数量\n\t计量单位\n\t开始使用时间\n\t折旧年限\n（月）\n\t已提折旧年限（月）\n\t原值\n（元）\n\t净值\n（元）\n\t净残值\n\t是否提足折旧\n\t资产评估值\n（元）\n\t资产现状\n\t\n1\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t自卸半挂车（桂P-9007挂）\n\t27000kgNHG9400ZZX\n\t否\n\t否\n\t否\n\t0104000180\n\t0302-3-030399-87577\n\t1\n\t辆\n\t2007-12-31\n\t72\n\t72\n\t258124\n\t7227.47\n\t7227.472\n\t是\n\t25630\n\t已无法正常使用。\n\t\n2\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t自卸半挂车（桂P-9016挂）\n\t27000kgNHG9400ZZX\n\t否\n\t否\n\t否\n\t0104000182\n\t0302-3-030399-87579\n\t1\n\t辆\n\t2007-12-31\n\t72\n\t72\n\t258124\n\t7227.47\n\t7227.472\n\t是\n\t25630\n\t已无法正常使用。\n\t\n3\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVOL FM440 64T B（桂P00787）\n\t瑞典VOLVOFM440\n\t否\n\t否\n\t否\n\t0104000172\n\t0302-3-030301-41778\n\t1\n\t辆\n\t2007-12-31\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n4\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P00991）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000264\n\t0302-3-030301-42495\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n5\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P01019）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000266\n\t0302-3-030301-42520\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n6\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P01006）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000267\n\t0302-3-030301-41759\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n7\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P00992）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000268\n\t0302-3-030301-41317\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n8\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P00983）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000269\n\t0302-3-030301-41515\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n9\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P01018）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000270\n\t0302-3-030301-42297\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n10\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P00929）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000271\n\t0302-3-030301-42284\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n11\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P00917）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000272\n\t0302-3-030301-41678\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16994\n\t已无法正常使用。\n\t\n12\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t牵引车VOVLO（桂P00902）\n\t瑞典VOLVOFM400\n\t否\n\t否\n\t否\n\t0104000273\n\t0302-3-030301-36262\n\t1\n\t辆\n\t2008-02-29\n\t72\n\t72\n\t900940\n\t25226.32\n\t25226.32\n\t是\n\t16684\n\t已无法正常使用。\n\t\n13\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t装载机WA470-3(DZ20156)（047#）\n\tWA470-3(DZ20156)\n\t否\n\t否\n\t否\n\t0104000803\n\t0302-3-030407-42281\n\t1\n\t辆\n\t2004-07-27\n\t96\n\t96\n\t1390000\n\t55600\n\t55600\n\t是\n\t41720\n\t已无法正常使用。\n\t\n14\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t挖掘机履带式液压PC200-7（15#）\n\tPC200-7\n\t否\n\t否\n\t否\n\t0104000879\n\t0302-3-030407-41369\n\t1\n\t辆\n\t2007-07-31\n\t96\n\t96\n\t832000\n\t33280\n\t33280\n\t是\n\t39200\n\t已无法正常使用。\n\t\n15\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t挖掘机履带式液压PC200-7（16#）\n\tPC200-7\n\t否\n\t否\n\t否\n\t0104000880\n\t0302-3-030407-41673\n\t1\n\t辆\n\t2007-07-31\n\t96\n\t96\n\t832000\n\t33280\n\t33280\n\t是\n\t41040\n\t已无法正常使用。\n\t\n16\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t叉车CPCD60（09#）\n\tCPCD60/CY6102BG\n\t是\n\t否\n\t否\n\t0106001376\n\t0302-3-030407-87545\n\t1\n\t辆\n\t2009-03-26\n\t96\n\t96\n\t131000\n\t5240\n\t5240\n\t是\n\t15840\n\t已无法正常使用。\n\t\n17\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t叉车CPCD60（11#）\n\tCPCD60/CY6102BG\n\t是\n\t否\n\t否\n\t0106001378\n\t0302-3-030407-87547\n\t1\n\t辆\n\t2009-03-26\n\t96\n\t96\n\t131000\n\t5240\n\t5240\n\t是\n\t15840\n\t已无法正常使用。\n\t\n18\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t叉车CPCD60（13#）\n\tCPCD60/CY6102BG\n\t是\n\t否\n\t否\n\t0106001380\n\t0302-3-030407-87549\n\t1\n\t辆\n\t2009-03-26\n\t96\n\t96\n\t131000\n\t5240\n\t5240\n\t是\n\t15840\n\t已无法正常使用。\n\t\n19\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t滑移装载机420HD（004#）\n\t420HD美国凯斯432T/M3\n\t否\n\t否\n\t否\n\t0106001502\n\t0302-3-030407-87621\n\t1\n\t辆\n\t2010-10-31\n\t96\n\t96\n\t330000\n\t13200\n\t13200\n\t是\n\t4432\n\t已无法正常使用。\n\t\n20\n\t防城港北港物流有限公司\n\t操作部\n\t设备器具\n\t广西防城港市港务局码头内\n\t电子汽车衡SCS-150DT\n\tSCS-150DT\n\t否\n\t否\n\t否\n\t0110001360\n\t0302-3-030407-87658\n\t1\n\t台\n\t2012-01-31\n\t120\n\t120\n\t225000\n\t9000\n\t9000\n\t是\n\t15213\n\t已无法正常使用。\n\t\n", "textLength": 3985}, {"index": 116, "text": "", "textLength": 0}]}
    result = corrector.correct(data)
    print(result)
